<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>02_延伸函数环境生命周期</title>
</head>

<body>

  <!-- 
    一个不会被销毁的函数执行空间
    函数内返回了一个复杂数据类型
    函数外部有变量 接收这个函数内返回的复杂数据类型
    此时函数的执行空间不会被销毁
  -->


  <script>
    function fun() {
      const a = 1;
      return function fn() {
        let b = 2;
        let c = 3;
        return function f() {
          console.log('b:', ++b);
          console.log('c:', ++c);
        }
      }
    }

    let res = fun();
    let sum = res();
    sum();
    sum();

</script>
</body>

</html>
